/*
** Created by Gahon Alexis
*/

#ifndef MENU_HH
#define MENU_HH

#include <Header.hh>
#include <DrawableGameComponent.hh>
#include <GameScreen.hh>
#include <GameTime.hh>
#include <Background.hh>

class Menu : public DrawableGameComponent, public GameScreen
{
    public:
        Menu(Window &);
        virtual ~Menu();
        virtual int Run(void);
        virtual void    Update(Time);
        virtual void    Draw(Time);
        void        GoNext(void);
        void        GoPrev(void);
        int         Enter(void);

    private:
        std::list<sf::String*>              _Items;
        std::list<sf::String*>::iterator    _Current;
        sf::Font                            *_Font;
        Window                              &_Window;
        std::map<std::string, GameState>    _ItemSelect;
        RessourceManager                    *_Content;
        Background                          *_Background;
};

#endif // MENU_HH
